Zones
The world of Stick Mountain will be split into many zones. The size of each zone will be multiple monitor screen-widths across and then depending on the type of zone, multiple screen-heights tall. Basically, zones will not stray very far from the standard concept of a level in almost any 2D platformer. The reasons for this are multi-fold: *Programming wise, it's much simpler to have multiple zones rather than one huge seamless world. The world data is easily compartmentalized and server/client communication is simple if each zone runs as a seperate thread or process as no interprocess communication is required. Zones can also be easily rebooted or modified at will without having to shut off the entire game. The actual structure of how zones will function code-wise will have to have to be carefully considered -- at the moment I'm leaning towards seperate threads for each zone, but if the game grows to be very large, the zones may have to be split up into processes running on different machines -- alas, this is very far off. *Game-mechanics wise, zones provide logical breaks in the world. Each zone can contain a unique region and then the ends of zones can connect to a central menu-based hub where the player can choose to travel to other zones or enter a city that exists at the hub. Details on zone mechanics As mentioned previously, zones are rectangular shaped levels that players may move around in. Take for example this following zone that I'll call 'Route 8.' What happens when you reach the end of the zone? If you head to the left or right, you'll exit the zone and be transported to the interactive world map where you will have an indicator that shows what hub you are currently at. While at a hub, a player only has the ability to chat or choose where to go -- at this point the player is not actually controlling a character. Let's say the player in Route 8 went to the right and ends up at the 'C-City Hub'. On the left, the player sees the world map with the indictor (here shown very faintly) surrounding the C-City hub, and on the right, the menu that would otherwise be super-imposed over the map. From this map, the player may choose to travel to a different zone -- either back to Route 8 (where the player came from), 4 other routes (which function similarly to router 8), or the city that is attached to the hub. City Zones A city zone functions much like a regular zone, except that there are two main differences: there are, in general, no monsters inside of city zones and exiting the zone either from the left or the right will have the player be transported to the world map to choose a new location to travel to. City zones are also much more likely to contain interior zones. Interior Zones Simply said, interior zones are zones that are entered from another zone. In essence, these zones exist perpendicular to their parent zone -- ie: the zone that represents the interior of a store that is entered from the storefront seen in another zone. In the C-City zone, one of the buildings is labelled as the store -- the store's interior can be entered by going up to the door of the store and then pushing the entire zone button. At this point, the player is transported to the store's interior zone. In general, zones representing the interior of a building have only one exit and entrance. Other uses of interior zones Interior zones may also be used to represent the interiors of land linked to from a non-city zone. A player, for example, may be able to purchase a plot of land on a route and then designate that area as a farm.The farm-zone could be entered from the route. Inside the farm-zone could be building-interior-zones that can be entered. Like farms, mines could also be represented using interior zones. The main reason for interior zones is to allow players to control some land of their own since player modification to the zones seen on the world map will be limited to some degree (as griefing can make getting around the world very difficult -- a griefer could dig out a deep canyon that's not crossable). Interior zones can also represent tunnels or other links between zones -- such an interior zone would not be seen on the world map.